{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import time\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import tqdm\n",
    "\n",
    "from sklearn.ensemble import GradientBoostingRegressor"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### train size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_features = 10\n",
    "timing_dict = dict()\n",
    "for size in tqdm.tqdm(np.arange(1000, 100001, 1000)):\n",
    "    X = np.random.uniform(size=(size, num_features))\n",
    "    y = np.random.uniform(size=size)\n",
    "    model = GradientBoostingRegressor()\n",
    "    t_start = time.time()\n",
    "    model.fit(X, y)\n",
    "    t_duration = time.time() - t_start\n",
    "    timing_dict[size] = t_duration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'time')"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(timing_dict.keys(), timing_dict.values())\n",
    "plt.grid()\n",
    "plt.xlabel('train_size')\n",
    "plt.ylabel('time')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### num_features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "size = 5000\n",
    "timing_dict2 = dict()\n",
    "for num_features in tqdm.tqdm(np.arange(1, 101, 10)):\n",
    "    X = np.random.uniform(size=(size, num_features))\n",
    "    y = np.random.uniform(size=size)\n",
    "    model = GradientBoostingRegressor()\n",
    "    t_start = time.time()\n",
    "    model.fit(X, y)\n",
    "    t_duration = time.time() - t_start\n",
    "    timing_dict2[num_features] = t_duration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'time')"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(timing_dict2.keys(), timing_dict2.values())\n",
    "plt.grid()\n",
    "plt.xlabel('num_features')\n",
    "plt.ylabel('time')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### max_depth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/8 [00:00<?, ?it/s]\u001b[A\n",
      " 12%|█▎        | 1/8 [00:00<00:03,  1.90it/s]\u001b[A\n",
      " 25%|██▌       | 2/8 [00:01<00:04,  1.30it/s]\u001b[A\n",
      " 38%|███▊      | 3/8 [00:04<00:06,  1.33s/it]\u001b[A\n",
      " 50%|█████     | 4/8 [00:09<00:09,  2.31s/it]\u001b[A\n",
      " 62%|██████▎   | 5/8 [00:16<00:11,  3.83s/it]\u001b[A\n",
      " 75%|███████▌  | 6/8 [00:31<00:14,  7.25s/it]\u001b[A\n",
      " 88%|████████▊ | 7/8 [00:56<00:12, 12.59s/it]\u001b[A\n",
      "100%|██████████| 8/8 [01:27<00:00, 17.99s/it]\u001b[A"
     ]
    }
   ],
   "source": [
    "size = 10000\n",
    "num_features = 10\n",
    "timing_dict3 = dict()\n",
    "for depth in tqdm.tqdm(np.arange(1, 25, 3)):\n",
    "    X = np.random.uniform(size=(size, num_features))\n",
    "    y = np.random.uniform(size=size)\n",
    "    model = GradientBoostingRegressor(max_depth=depth)\n",
    "    t_start = time.time()\n",
    "    model.fit(X, y)\n",
    "    t_duration = time.time() - t_start\n",
    "    timing_dict3[depth] = t_duration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'time')"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEHCAYAAABCwJb2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl4lNXd//H3F0IgMCSEJQECIvsOLmFHGxZtbVG06lNXcEXbWmvtY11qW9endXkeL9sqivpToe5b69a6IANaQCUqi2wiJBJQAgQTkpCEZM7vjxk0UrIAM3PP8nldVy6GyWTub07ufDicc9/nmHMOERFJDi28LkBERKJHoS8ikkQU+iIiSUShLyKSRBT6IiJJRKEvIpJEFPoiIklEoS8ikkQU+iIiSSTF6wL217lzZ9elSxfatWvndSkxq6KiQu3TBLVR49Q+TYu3NsrPz9/hnOvS1OtiLvSPPPJI7r77bvLy8rwuJWb5/X61TxPURo1T+zQt3trIzAqb8zoN74iIJBGFvohIElHoi4gkEYW+iEgSUeiLiCQRhb6ISBJR6IuIJBGFvohIDHjp4yI2l1RG/DgKfRERD9UFHP/z+hp+9cxyHnp3Y8SPF/Y7cs0sBXgK6A6sA34GPA/0BFYAM5x2YxcRYXfVXq56+hPmry1mxrhe/G7akIgfMxI9/VOB5c65CUA34AqgyDk3EsgETojAMUVE4srmkkrOmL0E//rt3Dp9KLdMH0arlpEffInE2jv/Al4P9fg7AMcAL4Q+9w4wCXgzAscVEYkLHxaUcNm8fGrrAjx+4Wgm9u8ctWOHPfSdc+UAZvY+8CXQCSgNfboMGLj/15jZLGAWQHZ2NuXl5fj9/nCXljDUPk1TGzVO7dO0SLXRu0V7eezTGjqnGb8Z1YbaLavwbwn7YRoUiTH9TkA5MJ5gz74fkBH6dAawY/+vcc7NAeYA5ObmOp/PF1er20VbvK3+5wW1UePUPk0LdxvVBRx3/mstj6zayIR+nbj/nGPJaNsqbO/fXJEYQPo1cKZzrg6oBG4HTgx9bjKwIALHFBGJWeXVtcyau4wHF23k/LG9eOzC0Z4EPkQm9O8DLjKzJcBO4BEgx8xWACXA/AgcU0QkJm0uqeT0+xfjX7+dW6YP5dZTozNh25BIjOlvIdijr29auI8jIhLrPiwo4fJ5+eytC/DYhaM4rn+TG1tFXMztnCUikgiezy/ihhdXkpOZxsMzc+nbxed1SYBCX0QkrPZN2D64KDhhe985x9ChbarXZX1DoS8iEibl1bVc9fTHvL2mmPPGHsEfTh7q6fj9gSj0RUTCYHNJJZfOXcZnxeXcMn0oM8Yd6XVJB6TQFxE5TMtCd9jG0oRtQxT6IiKHIVYnbBui0BcROQR1Acedb6zlwYWxOWHbEIW+iMhBCk7YfsLba7bF7IRtQxT6IiIHoWhXJZc8HvsTtg1R6IuINFN+YXDCtro29idsG6LQFxFphhfyi7j+xZV079CGp2eNol9WbE/YNkShLyLSiEDAcecb63hg4eeM79uJ+8+Njwnbhij0RUQaUH/C9twxR3DTKfEzYdsQhb6IyAHs2BPgjNmLWb9tNzefMpQZ43phZl6XddgU+iIi+8kvLOGWJXtwLVJ47MLRHD8g/iZsG6LQFxGpZ9+EbWZr44nLJ8TthG1DFPoiInx3wnZcn06ce+SehAt8iMx2iSIicaWiupbL/pbPAws/55wxRzD34tH4UuN//P5A1NMXkaS27w7b9dt2c9PJQ5g5/siEmLBtiEJfRJJWfuEuLpu3jOraAI9eOJrvJdCEbUMU+iKSlF78qIjrXoj/O2wPlkJfRJJKIOC46811zPYHJ2xnnxffd9geLIW+iCSNiuparnrmE95avY1zxhzBzQlwh+3BUuiLSFLY8vUeLnl8Geu+KkuKCduGKPRFJOEl44RtQyLy/xoze9zMlprZy2Y2ysyKzOy90MfASBxTRORAXvq4iLPnLKVd6xRe+tmEpA58iEBP38wmAinOubFm5ge6AbOdc7eH+1giIg0JBBx3v7mO+/2fM7ZPR2afeyyZ7ZJnwrYhkejpbwPurff+mcDpZvaBmb1gyTiIJiJR979vBQP/7NFHMO/iMQr8EHPOReaNzU4DfglcC3R2zr1mZouBG5xz/v1eOwuYBZCdnX3sww8/jM+XHNfMHory8nK1TxPURo1L9PbZ+HUdty6tYmJOChcNSz2kCdt4a6NJkyblO+dym3pdRCZyzewU4ErgZCAV+CT0qQIga//XO+fmAHMAcnNznc/nIy8vLxKlJQS/36/2aYLaqHGJ3D5Ve+u49c/v0i2jDfddejzpbVod0vskahuFfXjHzLoC1wDTnHO7gauBs8ysBTAMWBXuY4qI7HPPW+v5fHsFd5wx4pADP5FFYkx/JsHJ2zfM7D2gErgQeB94yTm3OgLHFBEhv7CEOe9u5JwxR3Bc/+S+SqchYR/ecc7dAdyx39O6ckdEImpPTR3//dwKumekccMPB3tdTszSzVkikhDuemMdm3ZU8OSlY/C1VrQ1JLkWnRCRhPT+xp08ungTM8f1Ynzfzl6XE9MU+iIS1yprarnm+RX0zGzLtScN8rqcmKf/A4lIXPvTP9eyeVclz8waR9tURVpT1NMXkbi1eMMO5i4p5MLxvRndu6PX5cQFhb6IxKXy6uCwTu/O7bjm+1rHsbn0fyERiUv/8/oavizdw3OXjycttaXX5cQN9fRFJO4sWr+dJ9//gkuP68OxvTK9LieuKPRFJK6UVe3l2hdW0LdLO351wgCvy4k7Gt4Rkbhy26ur2VZWxYs/m0CbVhrWOVjq6YtI3FiwtphnlxXx07y+HNWzg9flxCWFvojEhdLKvVz34goGZrfnyin9vS4nbml4R0Tiws2vfsqO8hoemTmK1ika1jlU6umLSMx7a/U2XvxoCz+f1I9hORlelxPXFPoiEtN2VdRw/YsrGdItnSsm9fO6nLin4R0RiWl/ePlTSvfUMPei0aSmqJ96uNSCIhKz/rnyS15evpUrJ/dnSPd0r8tJCAp9EYlJO8urufHvqxiek8HleX29LidhKPRFJCb9/h+fsruqlrvPHEmrloqqcFFLikjMeWX5Vl5b+SVXndCfgV3be11OQlHoi0hMKd5dxe/+sYqjenZg1nF9vC4n4Sj0RSRmOOf47UurqKyp4+4zR5KiYZ2wU4uKSMz4xydbeWv1Nq45cSD9snxel5OQFPoiEhO2lVXxh5c/JbdXJhdN7O11OQlLoS8innPOcf2LK6mureOuM0fSsoV5XVLCikjom9njZrbUzF42M5+ZvWpmy81snpnppyki3/F8fhHvrC3m2h8Monfndl6Xk9DCHvpmNhFIcc6NBdKBi4Ai59xIIBM4IdzHFJH49WXpHm55ZTWje3dk5rgjvS4n4UWip78NuLfe+98EvBX6+zvApAgcU0TikHOOa19YSZ1z3H3GSFpoWCfiwr7gmnPuMwAzOw0IAB8DpaFPlwED9/8aM5sFzALIzs6mvLwcv98f7tIShtqnaWqjxsVK+yzcvJdF62s4f0gqG1d+wEavC6onVtoo3CKyyqaZnQJcCZwMPADsWwA7A9ix/+udc3OAOQC5ubnO5/ORl5cXidISgt/vV/s0QW3UuFhon6JdlVyx4F0m9OvEzeeNiblefiy0USREYky/K3ANMM05txuYD5wY+vRkYEG4jyki8SUQcPzm+RU457jj9BExF/iJLBJj+jOBbsAbZvYe0ArIMbMVQAnBfwREJIk98cEXLP58JzdOG0KPzLZel5NUIjGmfwdwx35PPxju44hIfPpiZyV/fH0Nxw/owlmjenpdTtLRzVkiEjWBgOOa55fTsoVxx+nD0W070afQF5GoeXxJAe9vKuH304bQLSPN63KSkkJfRKJi044K7vjXWiYPyuKMY3t4XU7SUuiLSMTVBRzXPLec1JYt+OOPNazjpYhcpy8iUt+j/97EssJd3POTkWSnt/G6nKSmnr6IRNSG4nLuemMdJw7J5tSjcrwuJ+kp9EUkYmrrAvz3c8tpm9qS20/TsE4s0PCOiETMQ+9u4pPNX/OXs4+mS/vWXpcjqKcvIhGyfttu7nlrPT8c3pVpI7p5XY6EKPRFJOz21gX49bPLad8mhVunD9OwTgzR8I6IhN2DCz9n5ZZSZp97DJ18GtaJJerpi0hYrd5axr3zP+OUkd05abiGdWKNQl9EwqamNni1TkZaKjefMtTrcuQANLwjImFz34INrP6yjIdm5JLZLtXrcuQA1NMXkbBYtaWU+xZs4MfH5HDCkGyvy5EGKPRF5LBV19bx388tp5MvlT9M07BOLGvW8I6ZDQNygM3AF8658ohWJSJx5c/zP2PtV7t59IJRZLRt5XU50ogme/pm9hfgZuCPQD/gqUgXJSLxY/nmr5nt/5z/yu3BpEFZXpcjTWjO8M5RzrnTga+dcy8DHSNck4jEiaq9dfz6ueV0TW/DjdOGeF2ONENzhne+MrPfA5lmNhPYEuGaRCRO3PP2ejYUlzPv4tGkt9GwTjxoTk9/BlAKLAYygJkRrUhE4kJ+4S4eWrSRc8YcwXH9u3hdjjRTc3r6NwLjAAOGAKcCkyNZlIjEtj01dVzz3HK6ZaRxww8He12OHITmhP5YYJpzrjLSxYhIfLj7zXVs3FHBk5eMwdda93jGk+b8tALAR2a2lWBv3znn1NMXSVIfbCrh//17EzPG9WJ8v85elyMHqTmhXwxc7Jz7orlvamatgBedcyeb2SjgJaAg9OmLnXPrDrpSEfFcZU0t1zy/nJ6ZbbnupEFelyOHoDmh3x14rP562I319M0sDXgfGBB6KhOY7Zy7/TDqFJEYcMc/1/JFSSXPzBpH21QN68SjJn9qzrlJB/OGzrk9wAgz2xB6KhM43cymE7yj9wznnDvoSkXEUy/kF/H4kkIuntib0b11u068isbaOxuA3znnRgPdgO9F4ZgiEkYfFpRw/YsrGd+3k4Z14pw11Ok2s3udc780swXAvhc1eyLXzDY45/qZWSeg3DlXbWZPAn93zj2732tnAbMAsrOzj3344Yfx+XyH8W0ltvLycrVPE9RGjTuY9imuDHDrkj20a2X8blwa7Volx9aH8XYOTZo0Kd85l9vU6xoc3nHO/TL050EN7xzA1cB6M5sHDANuO8Cx5gBzAHJzc53P5yMvL+8wD5u4/H6/2qcJaqPGNbd9yqr2cvr9i2mR0oqnfjaB3p3bRb64GJGo59BBD++Y2YSD/JK/AhcSnNx9yTm3+mCPKSLRV1sX4IonP2bTjgoeOO/YpAr8RNbkRK6ZvbPfcM6dQJPB75zrF/rzSyDvUAsUEW/c9toaFq3fzp9+PJxxfTt5XY6ESYOhb2YjgKOB7mY2I/S0D6iKRmEi4p15Swp4bHEBlx7Xm7NGH+F1ORJGjQ3v2AH+3AGcEdGKRMRTi9Zv56ZXVjN1cBbXnaR1dRJNYxO5y4HlZjbYOTc3ijWJiEc2FO/m5098RP8sH/eedTQtWyTHlTrJpMmJXOfcddEoRES8VVJRw0WPLaN1q5Y8csEo2mkhtYSkn6qIUF1bx+Xz8vmqrIpnZo0lp0Oa1yVJhETjjlwRiWHOOW54cRUfFJTwv2eO5OgjMr0uSSJIoS+S5B5YuJEXPiriqqn9OXlkd6/LkQhT6IsksX+t+oo731jLKSO788sp/b0uR6JAoS+SpFZtKeVXz3zCyB4duPOMEdRfPl0Sl0JfJAntqgpw8eMf0rFdKnNmHEubVi29LkmiRFfviCSZPTV13PtRNeVVxvM/HU9W+zZelyRRpNAXSSKBgOPqZz+hsCzAwzNzGdwt3euSJMo0vCOSRP7vrfX8c9VX/GRgKlMGZ3tdjnhAPX2RJPHiR0X8dcEGzh7dkxMzd3pdjnhEPX2RJLCsoITrXljJuD6duGX6MF2pk8QU+iIJbnNJJbPm5ZOTmcbs846hVUv92icz/fRFElhZ1V4ueuxD6gKOR2bm0qFtqtcliccU+iIJqrYuwC9C2x3OPvcY+nSJn02+JXI0kSuSoG57bQ0L12/njz8ezvh+nb0uR2KEevoiCWje0kIeW1zAJRN7c7a2O5R6FPoiCebdz7Zz08ufMmVQFtf/UNsdyncp9EUSyIbicn62b7vDs7Xdofwnhb5IgiipqOHixz+kdUoLHp6Zi0/bHcoB6KwQSQA1tQEu/1s+X5ZW8fSssfTIbOt1SRKj1NMXiXPOOX770ko+2FTCXWeM4BhtdyiNiEjom1krM3sl9LiNmb1qZsvNbJ7p/m+RsHpw0Uaeyy/il1P6M/2oHK/LkRgX9tA3szQgHzgh9NR5QJFzbiSQWe95ETlMb3z6FXf8ay3TRnTjqqna7lCaFvbQd87tcc6NAIpCT00G3go9fgeYFO5jiiSjVVtKuerpTxjRowN3nzlSi6hJs0RjTL8TUBp6XAZ0jMIxRRLatrIqLnl8GZltW/GQtjuUgxCNq3d2ABmhxxmhv3+Hmc0CZgFkZ2dTXl6O3++PQmnxSe3TtERuo+o6x5/er2JXRYDfjmnD6vylrD7I90jk9gmXRG2jaIT+fOBE4AWCQz337P8C59wcYA5Abm6u8/l85OXlRaG0+OT3+9U+TUjUNgoEHFc89REFuyt56Pxcpg45tN2vErV9wilR2ygawztPADlmtgIoIfiPgIgcgnveXs/rK7/ihpMGH3LgS3KLWE/fOdcv9Gc1MC1SxxFJFn//eAt/eWcDP8ntySXH9fa6HIlTujlLJA7kF5bwm+dXMKZ3R249VdsdyqFT6IvEuM0llcyam0/3Dm144LxjSU3Rr60cOp09IjFsd9VeLn78Q/bWBXjkglFkttN2h3J4tOCaSIyqrQvwi6c+5vPtFcy9aDR9td2hhIF6+iIx6vbX1+Bft51bpg9lgrY7lDBR6IvEoL8tLeTRfxdw0YTenDuml9flSAJR6IvEmPc+28EfXv6USQO78NsfabtDCS+FvkgM2VBczk+fyKdfFx9/1naHEgEKfZEYsSu03WFqy+B2h+3btPK6JElAunpHJAbU1Aa4LLTd4VOXjqFnR213KJGhnr6Ix5xz3Pj34HaHd54+gmN7afVxiRyFvojH5izayLPLirhycj9OPVrbHUpkaXhHxCObdlQwb0khjy7exI+Gd+OqqQO8LkmSgEJfJIrqAo531hYzd0kB7362g5QWxmlH5XD7acNpoSt1JAoU+iJRsLO8mqc/3MyT73/Blq/30DW9DVefMICzRvckq30br8uTJKLQF4kQ5xwfb/6aeUsKeW3Fl9TUBRjftxO/mzaYqYOzSWmpKTWJPoW+SJjtqanj5eVbmLukkE+3luFrncLZo3ty/rhe9Mtq73V5kuQU+iJhUrCjgr8tLeS5/CJK9+xlYHZ7bjt1GKcdnUO71vpVk9igM1HkMNQFHAvWFjN3aSGL1m8npYXxg2FdOX9sL0b37qgdriTmKPRFDsHO8mqeWbaZJ5YGJ2az01vzq6kDOHt0T7LSNTErsUuhL9JMzjk+CU3MvhqamB3XpxM3/mgwU4dk00oTsxIHFPoiTdhTU8cry7cyd2kBq7Z8OzF73the9M/WxKzEF4W+SAP2n5gdkO3j1tDErE8TsxKndOaK1FMXcPjXFTN3SSELQxOz3x/WlRmamJUEodAXAUoqanjmw8088X4hRbuCE7NXTe3P2aOPIFsTs5JAohL6ZjYKeAkoCD11sXNuXTSOLdKQbyZml4YmZmsDjO3TkRt+OJgTNDErCSpaPf1MYLZz7vYoHU+kQVV763h5+VbmLSlk5ZZS2qW25KxRwYnZAZqYlQQXzdA/3cymA5uBM5xzLkrHFgGgcGdwYvbZZcGJ2f5ZPm6dPpTTjumhiVlJGhaN7DWzY4GuzrnXzGwxcINzzl/v87OAWQDZ2dnHPvzww/h8vojXFa/Ky8vVPk3Y10YB51ixvY75X9SyckcdLQ2OyW7JlCNaMTCzRdJOzOocalq8tdGkSZPynXO5Tb0uWt2bAmBVvcdZ9T/pnJsDzAHIzc11Pp+PvLy8KJUWf/x+v9qnCa+8uYC11pO/vV9I0a5qstq35qqpfTQxG6JzqGmJ2kbRCv2rgfVmNg8YBtwWpeNKEinds5dF67fz1uptvL6yktrAWsb07sj1Jw3mxKGamBWB6IX+X4GngCuAl5xzq6N0XElwm3ZUMH/NNuavKebDghJqA46O7VI5PieFa08fz8CumpgVqS8qoe+c+xLIi8axJLHV1gVYVriLd9YW8/aabWzcXgHAgGwflx7fh6mDsziqZybvLlqowBc5AF2yIDGvtHIv/vXFzF9TjH9dMWVVtbRqaYzt04kZY3sxZXA2PTu29bpMkbig0JeYtHF7OfPXBHvzywp3URcatjlhSFemDs7iuAFddJmlyCHQb43EhL11AZYV7AqOz68tZtOO4LDNoK7tuez4PkwZnM1RPTvQskVyXmIpEi4KffHM15U1LFy/nbfXFLMwNGyT2rIFY/t24oLxRzJ5UJaGbUTCTKEvUeOc4/PtFbyzdhtvrykmPzRs09mXyveHdmXK4Cwm9tewjUgk6bdLImpvXYAPN5Uwf20x89dso2BnJRActvnp9/oyeXAWR/XoQAsN24hEhUJfwm5XRc03V9ssXL+d3aFhm3F9O3HxxN5MHpxNToc0r8sUSUoKfTlswWGbct5eE+zN5xfuIuCgs681Jw3rypTB2Uzs15l2GrYR8Zx+C+WQ1NQG+LCghLdDd8N+URIcthnSLZ2fT+rHlMHZjMjJ0LCNSIxR6EuzlVTU4F8XHLZZtH47u6trSU1pwYS+nbj0+D5MGZRFdw3biMQ0hb4cUCDgKCypZNWWUlZtLSW/YBcffREctunSvjU/GtGNyYOymNi/M21TdRqJxAv9tgp1AcemHeWs2lLGyi2lrNpSyuqtZeyurgUgtWULBndrzxWT+zNlUBbDNWwjErcU+kmmti7Ahu3BgF+1L+C/LKOypg6A1iktGNwtnVOPzmFYTjpDu2cwILs9qSlallgkESj0E1hNbYD123bz6dbSUA++jDVfllFdGwCgbWpLhnRL579yezIsJ4NhOen06+IjRevOiyQshX6CqNpbx7qvdrNqa2moB1/Guq92U1MXDHhf6xSGdk/n/LG9vgn43p19WstGJMko9ONQdZ0jv3BXsAdfVMqqrWV8tm03tYHgfscZaa0YlpPOhROODAV8Br06ttU4vIgo9GNdeXUtq7d+O/6+amspn22rxL21GICO7VIZlpPBpIFdGB4K+B6ZaUm74beINE6hH0NK9+zl062lfLrvKpqtpWzaUYELduDp0r41w3MyGOSrZtr4EQzLyaBbRhsFvIg0m0LfA845tpdXB8fg911Fs7WUwtBiZADdMtowLCeD6SNzGN4jnWHdM8hKbwOA3+8nb2hXr8oXkTim0I+AfaFetGtP6KPyO4+37NrzzRU0AD0y0xiek/HNVTRDu6fT2dfaw+9ARBKVQv8QHGyoA2S2bUWPzLYMzG7PlEFZ9MhsS98uPoblpNOhbapH34mIJBuF/gEEAo4d5dVsbiDQi77eQ81+od6xXSo9MtMY1LU9U0NLB/fITKNHZltyMtO0MYiIxISkTKLDCvVu7Zk6JDsU6KFQ75CmZYNFJC4kZFIFAvuGXyr/YwimoVDvFAr1wd3SOeGbUA/20hXqIpIoEibJlm7cyX0LNnwT7PvuRN2nsy+VnA7/Geo9MtPIyUzTSpEikhQinnRm1gZ4HugJrABmOLfvyvPwCThHWVUtQ7qnc+LQ7G8CvWdmGt07KNRFRCA6Pf3zgCLn3DQzexU4AXgz3AcZ37cz//h553C/rYhIQonGcoqTgbdCj98BJkXhmCIicgDR6Ol3AkpDj8uAgfu/wMxmAbMAsrOzKS8vx+/3R6G0+KT2aZraqHFqn6YlahtFI/R3ABmhxxmhv3+Hc24OMAcgNzfX+Xw+8vLyolBafPL7/WqfJqiNGqf2aVqitlE0hnfmAyeGHk8GFkThmCIicgDRCP0ngBwzWwGUEPxHQEREPBDx4R3nXDUwLdLHERGRpmkzVBGRJKLQFxFJIhaBm2MPi5ltByo4wFU+8o3OqH2aojZqnNqnafHWRr2cc12aelHMhT6AmS1zzuV6XUesUvs0TW3UOLVP0xK1jTS8IyKSRBT6IiJJJFZDf47XBcQ4tU/T1EaNU/s0LSHbKCbH9EVEJDJitacvIiIREFOhb2ZtzOxVM1tuZvPMzLyuKZaY2SgzKzKz90If/7FiaTIzs1Zm9krosc6l/ezXPjqX9mNmj5vZUjN72cx8iXr+xFTo8+2GKyOBTIIbrsi3MoHZzrmJoY91XhcUK8wsDcjn23NG51I9B2gfnUv1mNlEIMU5NxZIBy4iQc+fWAt9bbjSuEzgdDP7wMxeSKTex+Fyzu1xzo0AikJP6Vyq5wDto3Ppu7YB94YetwBuIkHPn1gL/f03XOnoYS2xaAPwO+fcaKAb8D2P64llOpcap3OpHufcZ865D8zsNCAAfEyCnj+xFvpNbriS5AqAt+s9zvKsktinc6lxBehc+g4zOwW4EjgZ+IoEPX9iLfS14UrjrgbOMrMWwDBglcf1xDKdS43TuVSPmXUFrgGmOed2k8DnT6yFvjZcadxfgQuB94GXnHOrPa4nlulcapzOpe+aSXCY6w0zew9oRYKeP7o5S0QkicRaT19ERCJIoS8ikkQU+iIiSUShLyKSRBT6IiJJRKEv0kxm9piZHXmQX3PBfn/3h68ikYOn0BeJrAu8LkCkPoW+JBwz85vZU2b2tpktMLN7zOyfZrbEzB4NvWa6mT1gZq3NLN/MDri2ipn1MrPFZjYfGBR6bkDoGMvMbEbouQ9CS/J+YmbnmllG6Cafo0NLF19b7z2v2ff6yLeGyHcp9CVRXQ8cQXAdlaOA2QRXSuxjZtnOuX8A2cCfgfudcyUNvM+1wF3AD4AOoefuJLgK43jg2tAKlR2BXwATgJuB3c65icDHoaWL76j3nlWhhc7am1n3cH3DIs2R4nUBIpHgnCsws63OuXIz6wWcH/roAKSFXvYg8AzBsG5IH2C5c26vmX0cem4gwWB3QMvQe253zhUCmNkGevfZAAAA8UlEQVR2gksX72zgPR8N/VkIpB7K9ydyqNTTl2SwBfg7cA5QARBaaOw3BP8H8KtGvvYLYJiZpQAjQs+tAy5wzuUBDwA1QBcz621mPqAzwfVaAPaYWbv669U758rD9Y2JHCz19CUZTCC4vv5lBHvn3YEfAQuB24B3zexZ59ymA3ztnQQXb/s1UBV67jrgETNLBxY65yrMbCfwf0Bv4Pfu20Wt5hDchKOMBNp9SeKXFlwTCQMz84d6/iIxTaEvwjfrqT+/39OFzrlzvahHJFIU+iIiSUQTuSIiSUShLyKSRBT6IiJJRKEvIpJEFPoiIknk/wMKE4x/Q7fKLQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(timing_dict3.keys(), timing_dict3.values())\n",
    "plt.grid()\n",
    "plt.xlabel('max_depth')\n",
    "plt.ylabel('time')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### num_estimatos"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "  0%|          | 0/10 [00:00<?, ?it/s]\u001b[A\n",
      " 10%|█         | 1/10 [00:00<00:05,  1.75it/s]\u001b[A\n",
      " 20%|██        | 2/10 [00:01<00:05,  1.49it/s]\u001b[A\n",
      " 30%|███       | 3/10 [00:02<00:05,  1.18it/s]\u001b[A\n",
      " 40%|████      | 4/10 [00:04<00:06,  1.14s/it]\u001b[A\n",
      " 50%|█████     | 5/10 [00:06<00:07,  1.47s/it]\u001b[A\n",
      " 60%|██████    | 6/10 [00:09<00:07,  1.80s/it]\u001b[A\n",
      " 70%|███████   | 7/10 [00:12<00:06,  2.23s/it]\u001b[A\n",
      " 80%|████████  | 8/10 [00:16<00:05,  2.71s/it]\u001b[A\n",
      " 90%|█████████ | 9/10 [00:20<00:03,  3.10s/it]\u001b[A\n",
      "100%|██████████| 10/10 [00:24<00:00,  3.48s/it]\u001b[A"
     ]
    }
   ],
   "source": [
    "size = 5000\n",
    "num_features = 10\n",
    "timing_dict4 = dict()\n",
    "for n_estimators in tqdm.tqdm(np.arange(100, 1001, 100)):\n",
    "    X = np.random.uniform(size=(size, num_features))\n",
    "    y = np.random.uniform(size=size)\n",
    "    model = GradientBoostingRegressor(n_estimators=n_estimators)\n",
    "    t_start = time.time()\n",
    "    model.fit(X, y)\n",
    "    t_duration = time.time() - t_start\n",
    "    timing_dict4[n_estimators] = t_duration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'time')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(timing_dict4.keys(), timing_dict4.values())\n",
    "plt.grid()\n",
    "plt.xlabel('n_estimators')\n",
    "plt.ylabel('time')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
